QÅFÉAÉvÉäÉPÅ[ÉVÉáÉìì‡Ç≈é¿çsÇ≥ÇÍǃǢÇÈ AppleScript Ç…ÅAÉpÉâÉÅÅ[É^ÇìnÇ∑ï÷óòÇ»ï˚ñ@ÇÕdžÇËÇ‹Ç∑Ç©ÅH
AÅFÇÕÇ¢ÅAdžÇËÇ‹Ç∑ÅBä»íPDžǢǶnjÅAÉTÉuÉãÅ[É`ÉìÇä‹ÇfiÉXÉNÉäÉvÉgÇçÏê¨ÇµÅAǪÇÃå„ǪÇÃÉnÉìÉhÉâÇ…ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁìKêÿÇ»å`éÆÇÃÉCÉxÉìÉgÇëóÇÈDZÇΔÇ…ÇÊǡǃçsǶNjÇ∑ÅBéüÇ…ÅADZÇÍÇçsǧÇΩÇflÇÃé¿ç€ÇÃéËèáÇé¶ÇµÇ‹Ç∑ÅB
ÉXÉNÉäÉvÉgÇÃçÏê¨
ç≈èâÇÃÉXÉeÉbÉvÇÕÅAé¿çsǵÇΩÇ¢ëÄçÏÇçsǧÅAà íuà¯êîÇéùÇ¡ÇΩÉTÉuÉãÅ[É`ÉìÇä‹ÇfiÉXÉNÉäÉvÉgÇíËã`Ç∑ÇÈDZÇΔÇ≈Ç∑ÅBÉäÉXÉg 1 ÇÕÅA
Technical Q&A
QA1018,
"Using AppleScript to send an email with an attachment" Ç…é¶Ç≥ÇÍǃǢÇÈÉXÉNÉäÉvÉgÇ…ïœçXÇâ¡Ç¶ÇΩLJÇÃÇ≈Ç∑ÅBDZÇÃÉXÉNÉäÉvÉgÇ…ÇÕÅAìdéqÉÅÅ[ÉãÉÅÉbÉZÅ[ÉWÇçÏê¨Ç∑ÇÈÇΩÇflÇ…égópÇ∑ÇÈÇ¢Ç≠ǬǩÇÃà¯êîÇéùÇ¡ÇΩÉTÉuÉãÅ[É`ÉìÇ™ä‹Ç‹ÇÍǃǢNjÇ∑ÅB
on send_email_message(targetAddress, targetName, ¬
subjectLine, messageText, fileAttachment)
tell application "Mail"
(* ìdéqÉÅÅ[ÉãÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉoÅ[ÉWÉáÉì *)
set mailversion to version as string
(* ï\é¶Ç‹ÇΩÇÕëóêMÇÃèàóùÇéwíË - displayForManualSend
Ç™ true Ç»ÇÁÇŒÅAÉÜÅ[ÉUÇ™ëóêMÇ≈Ç´ÇÈÇÊǧDžÅAÉÅÉbÉZÅ[ÉWÇ™
ê∂ê¨Ç≥ÇÍÅAÉEÉBÉìÉhÉEÇ…ï\é¶Ç≥ÇÍÇ‹Ç∑ÅBfalse ÇÃèÍçáÅA
ÉÅÉbÉZÅ[ÉWÇÕÇ∑ÇÆÇ…ëóÇÁÇÍÇ‹Ç∑ *)
set displayForManualSend to true
(* ÉÅÉbÉZÅ[ÉWÇÃàÍî ìIÇ»óvëfÇéwíË *)
set bodyvar to messageText
set addrVar to targetAddress
set addrNameVar to targetName
(* åèñºÇíËã` *)
set subjectvar to subjectLine
(* ÉÅÉbÉZÅ[ÉWÇçÏê¨ *)
set composeMessage to (a reference to (make new compose message ¬
at beginning of compose messages))
tell composeMessage
make new to recipient at beginning of to recipients ¬
with properties {address:addrVar, display name:addrNameVar}
set the subject to subjectvar
set the content to bodyvar
(* ìYïtèëófiÇéwíË *)
tell content
make new text attachment ¬
with properties {file name:fileAttachment} ¬
at before the first word of the ¬
first paragraph
end tell
end tell
(* ÉÅÉbÉZÅ[ÉWÇëóêMÇ‹ÇΩÇÕï\é¶ *)
if displayForManualSend then
set messageEditor to make new message editor ¬
at beginning of message editors
(* éüÇ…ÅAìdéqÉÅÅ[ÉãÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉoÅ[ÉWÉáÉì
1.0 ÇΔ 1.1 Ç…ÇÕdžÇÈÇ™à»ç~ÇÃÉoÅ[ÉWÉáÉìÇ≈èCê≥Ç≥ÇÍÇΩÉoÉOÇÃ
âÒîï˚ñ@Çé¶Ç∑ *)
if mailversion is "1.0" or mailversion is "1.1" then
set compose message of last message editor to composeMessage
else
set compose message of first message editor to composeMessage
end if
else
send composeMessage
end if
end tell
end send_email_message
|
ÉäÉXÉg 1Å@à íuà¯êîÇéùǬ AppleScript ÉTÉuÉãÅ[É`ÉìÇä‹ÇfiÉXÉNÉäÉvÉg
|
ÉXÉNÉäÉvÉgÇÃé¿çs
ÉXÉNÉäÉvÉgÇíËã`ǵÇΩå„ÇÕÅADZÇÍÇï€ë∂Ç∑ÇÈÇ¢Ç≠ǬǩÇÃï˚ñ@ǙdžÇËÇ‹Ç∑ÅBç≈ëÂÇÃÉpÉtÉHÅ[É}ÉìÉXÇ®ÇÊÇ— Mac OS X ÇΔÇÃå›ä∑ê´Çämï€Ç∑ÇÈÇΩÇflÇ…ÅAÉXÉNÉäÉvÉgÇÕÅAÉfÅ[É^ÉtÉHÅ[ÉNÉxÅ[ÉXÇÃÉRÉìÉpÉCÉãçœÇ› AppleScript ÇΔǵǃ .scpt ÉtÉ@ÉCÉãÇ…ï€ë∂ǵNjÇ∑ÅB
ÉXÉNÉäÉvÉgÇÉÅÉÇÉäÇ…ÉçÅ[ÉhǵÇΩå„ÇÕÅA
OSAExecuteEvent
ÉãÅ[É`ÉìÇégǡǃÉCÉxÉìÉgÉnÉìÉhÉâÇåƒÇ—èoÇ∑DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉäÉXÉg 2 ÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃíÜÇ≈ OSAExecuteEvent ÇégǡǃÅAÉXÉNÉäÉvÉgÇÃÉTÉuÉãÅ[É`ÉìÉnÉìÉhÉâÇåƒÇ—èoÇ∑ï˚ñ@Çé¶ÇµÇ‹Ç∑ÅBÇ‡ÇøÇÎÇÒDZÇÍÇê¨å˜Ç≥ÇπÇÈÇΩÇflÇ…ÇÕÅA
OSAExecuteEvent Ç…íÒãüÇ≥ÇÍÇΩÉCÉxÉìÉgÇÕìKêÿÇ»å`éÆÇ≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
static OSStatus ExecuteCompiledAppleScriptEvent(AEDesc *scriptData,
AppleEvent *theEvent, AEDesc *resultData) {
ComponentInstance theComponent;
AEDesc scriptTextDesc;
OSStatus err;
OSAID contextID, resultID;
/* ÉçÅ[ÉJÉãïœêîÇä˘ímÇÃèÛë‘Ç…ê›íË */
theComponent = NULL;
AECreateDesc(typeNull, NULL, 0, &scriptTextDesc);
contextID = kOSANullScript;
resultID = kOSANullScript;
/* ÉXÉNÉäÉvÉeÉBÉìÉOÉRÉìÉ|Å[ÉlÉìÉgÇäJÇ≠ */
theComponent = OpenDefaultComponent(kOSAComponentType, typeAppleScript);
if (theComponent == NULL) { err = paramErr; goto bail; }
/* ÉXÉNÉäÉvÉgÇêVǵǢÉRÉìÉeÉLÉXÉgÇ…ÉRÉìÉpÉCÉãÇ∑ÇÈ */
err = OSALoad(theComponent, scriptData,
kOSAModeNull, &contextID);
if (err != noErr) goto bail;
/* ÉXÉNÉäÉvÉgÇé¿çsÇ∑ÇÈ */
err = OSAExecuteEvent( theComponent, theEvent,
contextID, kOSAModeNull, &resultID);
/* åãâ ǙdžÇÍÇŒèWÇflÇÈ */
if (resultData != NULL) {
AECreateDesc(typeNull, NULL, 0, resultData);
if (err == errOSAScriptError) {
OSAScriptError(theComponent, kOSAErrorMessage,
typeChar, resultData);
} else if (err == noErr && resultID != kOSANullScript) {
OSADisplay(theComponent, resultID, typeChar,
kOSAModeNull, resultData);
}
}
bail:
AEDisposeDesc(&scriptTextDesc);
if (contextID != kOSANullScript) OSADispose(theComponent, contextID);
if (resultID != kOSANullScript) OSADispose(theComponent, resultID);
if (theComponent != NULL) CloseComponent(theComponent);
return err;
}
|
ÉäÉXÉg 2Å@ÉCÉxÉìÉgÉnÉìÉhÉâÇä‹ÇfiÉXÉNÉäÉvÉgÇÃé¿çs
|
Ç‡ÇøÇÎÇÒÅAÉXÉNÉäÉvÉgÇǪÇÃèÍÇ≈ìÆìIÇ…ÉRÉìÉpÉCÉãǵǃÅAOSAExecuteEvent ÇåƒÇ—èoǵǃÉCÉxÉìÉgÉnÉìÉhÉâÇé¿çsÇ∑ÇÈDZÇΔÇ™ñ]NjǵǢèÍçáLJdžÇËÇ‹Ç∑ÅBǪÇÃÇΩÇflÇÃéËñ@ÇÕÅAQA1026,
"Calling AppleScript from an Application" Ç≈é¶Ç≥ÇÍǃǢÇÈï˚ñ@ÇΔîÒèÌÇ…ÇÊÇ≠éóǃǢNjÇ∑Ç™ÅAç™ñ{ìIÇ»à·Ç¢Ç™ 2 ǬdžÇËÇ‹Ç∑ÅB1 ǬÇÕÅAÉTÉuÉãÅ[É`ÉìÉnÉìÉhÉâÇ™ AppleScript ÉRÉìÉeÉLÉXÉgÇ…ÉRÉìÉpÉCÉãÇ≥ÇÍÇÈÇÊǧDžÅAÉRÉìÉpÉCÉãéûÇ…ÅAkOSAModeCompileIntoContext ÉtÉâÉOÇÉZÉbÉgÇ∑ÇÈDZÇΔÇ≈ÅALJǧ 1 ǬÇÕÅAOSAExecuteEvent ÇåƒÇ—èoǵǃÉXÉNÉäÉvÉgÇé¿çsÇ∑ÇÈDZÇΔÇ≈Ç∑ÅBÉäÉXÉg 3 ÇÕÅAÉRÉìÉpÉCÉãÇΔé¿çsÇÃÉvÉçÉZÉXÇÃéËèáÇé¶ÇµÇ‹Ç∑ÅB
static OSStatus ExecuteAppleScriptEvent(const void* text,
long textLength, AppleEvent *theEvent, AEDesc *resultData) {
ComponentInstance theComponent;
AEDesc scriptTextDesc;
OSStatus err;
OSAID contextID, resultID;
/* ÉçÅ[ÉJÉãïœêîÇä˘ímÇÃèÛë‘Ç…ê›íË */
theComponent = NULL;
AECreateDesc(typeNull, NULL, 0, &scriptTextDesc);
contextID = kOSANullScript;
resultID = kOSANullScript;
/* ÉXÉNÉäÉvÉeÉBÉìÉOÉRÉìÉ|Å[ÉlÉìÉgÇäJÇ≠ */
theComponent = OpenDefaultComponent(kOSAComponentType,
typeAppleScript);
if (theComponent == NULL) { err = paramErr; goto bail; }
/* ÉXÉNÉäÉvÉgÇÃÉeÉLÉXÉgÇÉAÉbÉvÉãÉCÉxÉìÉgÉfÉBÉXÉNÉäÉvÉ^ÉåÉRÅ[ÉhÇ…ë}ì¸Ç∑ÇÈ */
err = AECreateDesc(typeChar, text, textLength, &scriptTextDesc);
if (err != noErr) goto bail;
/* ÉXÉNÉäÉvÉgÇêVǵǢÉRÉìÉeÉLÉXÉgÇ…ÉRÉìÉpÉCÉãÇ∑ÇÈÅB
ÉnÉìÉhÉâÇä‹ÇfiÉXÉNÉäÉvÉgÇÉRÉìÉeÉLÉXÉgÇ…ÉRÉìÉpÉCÉãÇ∑ÇÈÇ…ÇÕÅA
kOSAModeCompileIntoContext ÉtÉâÉOÇégópÇ∑ÇÈ */
err = OSACompile(theComponent, &scriptTextDesc,
kOSAModeCompileIntoContext, &contextID);
if (err != noErr) goto bail;
/* ÉXÉNÉäÉvÉgÇé¿çsÇ∑ÇÈ */
err = OSAExecuteEvent( theComponent, theEvent,
contextID, kOSAModeNull, &resultID);
/* åãâ ǙdžÇÍÇŒèWÇflÇÈ */
if (resultData != NULL) {
AECreateDesc(typeNull, NULL, 0, resultData);
if (err == errOSAScriptError) {
OSAScriptError(theComponent, kOSAErrorMessage,
typeChar, resultData);
} else if (err == noErr && resultID != kOSANullScript) {
OSADisplay(theComponent, resultID, typeChar,
kOSAModeDisplayForHumans, resultData);
}
}
bail:
AEDisposeDesc(&scriptTextDesc);
if (contextID != kOSANullScript) OSADispose(theComponent, contextID);
if (resultID != kOSANullScript) OSADispose(theComponent, resultID);
if (theComponent != NULL) CloseComponent(theComponent);
return err;
}
|
ÉäÉXÉg 3 ÉCÉxÉìÉgÉnÉìÉhÉâÇä‹ÇfiÉXÉNÉäÉvÉgÇÃÉRÉìÉpÉCÉãÇΔé¿çs
|
ÉCÉxÉìÉgÇ…ÇÕâΩÇ™ä‹Ç‹ÇÍǃǢÇÈÇÃÇ≈ǵÇÂǧǩÅH
DZÇÃÉCÉxÉìÉgÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇëŒè€Ç…ǵǃçÏê¨Ç∑ÇÈÇ∑Ç◊ǃÇÃÉCÉxÉìÉgÇΔìØÇ∂å`éÆÇÃïWèÄìIÇ»ÉAÉbÉvÉãÉCÉxÉìÉgÉåÉRÅ[ÉhÇ≈Ç∑ÅBDZÇÃÉCÉxÉìÉgÇ…ÇÕÅAÉnÉìÉhÉâÇé¿çsÇ∑ÇÈÇÃÇ…ïKóvÇ»èÓïÒÇä‹Çfi 2 ǬÇÃÉpÉâÉÅÅ[É^ǙdžÇËÇ‹Ç∑ÅBÉTÉuÉãÅ[É`ÉìÇÃà¯êîÇÕÅAÉ_ÉCÉåÉNÉgÉpÉâÉÅÅ[É^ÅikeyDirectObject ÅjÇ…äiî[Ç≥ÇÍǃǢÇÈÉäÉXÉgÇÃà íuÇΔǵǃíÒãüÇ≥ÇÍÅAÉTÉuÉãÅ[É`ÉìÇÃñºëOÇÕÇ∑Ç◊ǃÇÃï∂éöÇ™è¨ï∂éöÇ…ïœä∑Ç≥ÇÍǃÅA2 î‘ñ⁄ÇÃÉCÉxÉìÉgÉpÉâÉÅÅ[É^ÅikeyASSubroutineName ÅjÇ…ï∂éöóÒÇΔǵǃäiî[Ç≥ÇÍÇ‹Ç∑ÅB
èdóvÅF
keyASSubroutineName Åisnam ÅjÉpÉâÉÅÅ[É^Ç…ÇÕÅAåƒÇ—èoÇ≥ÇÍÇÈÉTÉuÉãÅ[É`ÉìÇÃñºëOÇÃëSï∂éöÇ™è¨ï∂éöÇ…ïœä∑Ç≥ÇÍǃä‹Ç‹ÇÍǃǢÇÈïKóvǙdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAÉXÉNÉäÉvÉgÇÃÉTÉuÉãÅ[É`ÉìÇÃñºëOÇ™ GetDocumentSize Ç»ÇÁÇŒÅAkeyASSubroutineName ÉpÉâÉÅÅ[É^Ç…ìnÇ≥ÇÍÇÈï∂éöóÒÇÕÅAgetdocumentsize Ç≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
|
íçà”ÅF
DZÇÃêflÇ≈é¶ÇµÇΩå`éÆÇÃÉCÉxÉìÉgÇÕÅAAESend ÇégǡǃÅAÉRÉìÉpÉCÉãÇ≥ÇÍÇΩé¿çsíÜÇà AppleScript ÇÃÉAÉvÉåÉbÉgÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëóǡǃÅAǪÇÍÇÁÇÃÉTÉuÉãÅ[É`ÉìÉnÉìÉhÉâÇåƒÇ—èoÇ∑DZÇΔLJÇ≈Ç´Ç‹Ç∑ÅB
|
DZÇÃèÓïÒÇä‹ÇfiÉAÉbÉvÉãÉCÉxÉìÉgÇÕîÒèÌÇ…ä»íPÇ…ëgÇ›óßǃÇÈDZÇΔÇ™Ç≈Ç´ÅAAECreateList ÅAAEPutPtr ÅAÇ®ÇÊÇ— AEPutDesc ÇÃåƒÇ—èoǵÇÃï¿Ç—Ç≈ç\ê¨Ç≥ÇÍÇ‹Ç∑ÅBÉäÉXÉg 4 ÇÕÅAÉäÉXÉg 1 Ç≈íËã`ǵÇΩÉnÉìÉhÉâÇåƒÇ—èoÇ∑ÇÃÇ…ìKǵÇΩÉAÉbÉvÉãÉCÉxÉìÉgÇçÏê¨Ç∑ÇÈï˚ñ@Çé¶ÇµÇ‹Ç∑ÅB
OSStatus CreateEmailMessageEvent(AppleEvent *theEvent,
char* targetAddress, char* targetName, char* subjectLine,
char* messageText, AliasHandle fileAttachment) {
AEAddressDesc targetAddr;
AEDescList theParameters;
OSStatus err;
ProcessSerialNumber PSN = {0, kCurrentProcess};
char* handlerName = "send_email_message";
char theState;
/* ïúå≥â¬î\Ç»èÛë‘Çópà” */
AECreateDesc(typeNull, NULL, 0, theEvent);
AECreateDesc(typeNull, NULL, 0, &theParameters);
AECreateDesc(typeNull, NULL, 0, &targetAddr);
/* é©êgÇëŒè€Ç…ǵÇΩÉAÉhÉåÉXÇçÏê¨ */
err = AECreateDesc(typeProcessSerialNumber, (Ptr) &PSN,
sizeof(PSN), &targetAddr);
if (err != noErr) goto bail;
/* ÉAÉbÉvÉãÉCÉxÉìÉgÇçÏê¨ */
err = AECreateAppleEvent('ascr', kASSubroutineEvent,
&targetAddr, kAutoGenerateReturnID,
kAnyTransactionID, theEvent);
if (err != noErr) goto bail;
/* à¯êîÇÃÉäÉXÉgÇçÏê¨ÅAí«â¡ */
/* ÉRÉìÉeÉiÇÃÉäÉXÉgÇçÏê¨ */
err = AECreateList(NULL, 0, false, &theParameters);
if (err != noErr) goto bail;
/* ï∂éöóÒÇí«â¡ */
err = AEPutPtr(&theParameters, 0, typeText, targetAddress,
strlen(targetAddress));
if (err != noErr) goto bail;
err = AEPutPtr(&theParameters, 0, typeText, targetName,
strlen(targetName));
if (err != noErr) goto bail;
err = AEPutPtr(&theParameters, 0, typeText, subjectLine,
strlen(subjectLine));
if (err != noErr) goto bail;
err = AEPutPtr(&theParameters, 0, typeText, messageText,
strlen(messageText));
if (err != noErr) goto bail;
/* ÉGÉCÉäÉAÉXÉnÉìÉhÉãÇí«â¡ */
theState = HGetState((Handle) fileAttachment);
HLock((Handle) fileAttachment);
err = AEPutPtr(&theParameters, 0, typeAlias, *fileAttachment,
GetHandleSize((Handle) fileAttachment));
HSetState((Handle) fileAttachment, theState);
if (err != noErr) goto bail;
/* è„ãLÇ≈çÏê¨ÇµÇΩÉpÉâÉÅÅ[É^ÉäÉXÉgÇí«â¡ */
err = AEPutParamDesc(theEvent, keyDirectObject,
&theParameters);
/* ÉnÉìÉhÉâñºÇí«â¡ */
err = AEPutParamPtr(theEvent, keyASSubroutineName,
typeText, handlerName, strlen(handlerName));
if (err != noErr) goto bail;
/* ÉNÉäÅ[ÉìÉAÉbÉvèàóùÇΔèIóπ */
bail:
AEDisposeDesc(&targetAddr);
AEDisposeDesc(&theParameters);
if (err != noErr) {
AEDisposeDesc(theEvent);
}
return err;
}
|
ÉäÉXÉg 4 ÉäÉXÉg 1 Ç≈íËã`Ç≥ÇÍǃǢÇÈ AppleScript ÉTÉuÉãÅ[É`ÉìÇåƒÇ—èoÇ∑ÇÃÇ…ìKǵÇΩÉAÉbÉvÉãÉCÉxÉìÉgÇÃçÏê¨
|
ÇΩÇæÇµÅADZÇÃÇÊǧǻÉCÉxÉìÉgÇçÏê¨Ç∑ÇÈLJǡÇΔÇÊÇ¢ä»íPÇ»ï˚ñ@ǙdžÇËÇ‹Ç∑ÅBêVǵǢ AEBuild ÉãÅ[É`ÉìÇÕÅAï°éGÇ»ÉAÉbÉvÉãÉCÉxÉìÉgÇä»íPÇ…çÏê¨Ç∑ÇÈã@î\ÇíÒãüǵNjÇ∑ÅBÉäÉXÉg 5 ÇÕÅAÉäÉXÉg 4 ÇÃåƒÇ—èoǵÇ∑Ç◊ǃÇÇ–ÇΔÇ‹ÇΔÇflDžǵǃÅAëóêMǵÇΩÇ¢ÉCÉxÉìÉgÇç\ízÇ∑ÇÈ 1 ǬÇÃÉVÉXÉeÉÄÉRÅ[ÉãÇ…Ç∑ÇÈï˚ñ@Çé¶ÇµÇ‹Ç∑ÅB
OSStatus CreateEmailMessageEvent(AppleEvent *theEvent,
char* targetAddress, char* targetName, char* subjectLine,
char* messageText, AliasHandle fileAttachment) {
OSStatus err;
ProcessSerialNumber PSN = {0, kCurrentProcess};
/* ÉRÉìÉeÉiÇÃÉäÉXÉgÇçÏê¨ */
err = AEBuildAppleEvent(
'ascr', kASSubroutineEvent,
typeProcessSerialNumber, (Ptr) &PSN, sizeof(PSN),
kAutoGenerateReturnID, kAnyTransactionID,
theEvent,
NULL,
"'----':[TEXT(@),TEXT(@),TEXT(@),TEXT(@),alis(@@)],"
"'snam':TEXT(@)",
targetAddress, targetName, subjectLine, messageText,
fileAttachment, "send_email_message");
return err;
}
|
ÉäÉXÉg 5 AEBuildAppleEvent ÉãÅ[É`ÉìÇégÇ¡ÇΩÅAÉXÉNÉäÉvÉgÇÃÉCÉxÉìÉgÉnÉìÉhÉâÇé¿çsÇ∑ÇÈÇÃÇ…ìKǵÇΩÉAÉbÉvÉãÉCÉxÉìÉgÇÃçÏê¨
|
Ç∑Ç◊ǃÇìùçá
Ç¢Ç≠ǬǩÇÃÉpÉâÉÅÅ[É^ÇÃílÇéùǬÉXÉNÉäÉvÉgÇåƒÇ—èoǵǃÅAñ{ï∂èëÇ≈ê‡ñæÇµÇΩÇ∑Ç◊ǃÇÃåƒÇ—èoǵÇìùçáÇ∑ÇÈï˚ñ@ÇÅAÉäÉXÉg 6 Ç…é¶ÇµÇ‹Ç∑ÅBäÓñ{ìIDžDZÇÍÇÁÇÃéËèáÇÕÅAÉRÉìÉpÉCÉãÇ≥ÇÍÇΩÉXÉNÉäÉvÉgÇ typeOSAGenericStorage å^Çà AEDesc Ç…ÉçÅ[ÉhǵÅAÉAÉbÉvÉãÉCÉxÉìÉgÇçÏê¨ÇµÅAçÏê¨ÇµÇΩÉAÉbÉvÉãÉCÉxÉìÉgÇégǡǃÉXÉNÉäÉvÉgÇÃÉTÉuÉãÅ[É`ÉìÇåƒÇ—èoǵNjÇ∑ÅB
AppleEvent theAEvent
AEDesc scriptData;
OSStatus err;
AliasHandle theAlias;
Ptr data;
Size count;
theAlias = GetAnAliasToSomeFile();
err = LoadMyScriptData(&data, &count);
if (err == noErr) {
err = AECreateDesc(typeOSAGenericStorage,
data, count, &compiledScript);
if (err == noErr) {
err = CreateEmailMessageEvent(&theAEvent,
"bogus@apple.com",
"bogus address",
"hello world subject",
"This is a test message\n\n",
theAlias);
if (err == noErr) {
err = ExecuteCompiledAppleScriptEvent(&scriptData,
&theAEvent, NULL);
...
|
ÉäÉXÉg 6Å@è„ãLÇÃÉäÉXÉgÇ≈íÒãüÇ≥ÇÍǃǢÇÈåƒÇ—èoǵÇÃèáèò
|
íçà”éñçÄ
ÉXÉNÉäÉvÉgÉGÉfÉBÉ^ÇÕí èÌÅAÉRÉìÉpÉCÉãçœÇ›ÉXÉNÉäÉvÉgÉfÅ[É^ÇÅAê∂ê¨Ç∑ÇÈÉtÉ@ÉCÉãÇÃíÜÇà 'scpt' É^ÉCÉvÇÃÉäÉ\Å[ÉXÇ…äiî[ǵNjÇ∑ÅBDZÇÃÉfÅ[É^ÇÕÅAGet1IndResource ÇåƒÇ—èoǵǃÅADZÇÍÇÁÇÃÉtÉ@ÉCÉãÇà 1 ǬDždžÇÈç≈èâÇà scpt ÉäÉ\Å[ÉXÇéÊìæÇ∑ÇÈDZÇΔÇ…ÇÊǡǃÉçÅ[ÉhÇ≈Ç´Ç‹Ç∑ÅBMac OS X ÇÃèÍçáÅAÉRÉìÉpÉCÉãçœÇ›ÉXÉNÉäÉvÉgÉfÅ[É^ÇÅAÉtÉ@ÉCÉãägí£éqÅA.scpt ÇéùǬÉtÉ@ÉCÉãÇÃÉfÅ[É^ÉtÉHÅ[ÉNÇ…ï€ë∂Ç∑ÇÈDZÇΔÇêÑèßǵNjÇ∑ÅBDZÇÃÉfÅ[É^ÇéÊìæÇ∑ÇÈÇ…ÇÕÅAÉfÅ[É^ÉtÉHÅ[ÉNëSëÃÇì«Ç›çûǛNjÇ∑ÅBÉXÉNÉäÉvÉgÇÉRÉìÉpÉCÉãÇ∑ÇÈÇΔÇ´Ç…ÅAÉRÉ}ÉìÉhÉâÉCÉìÉcÅ[ÉãÅAosacompile Ç… -d ÉIÉvÉVÉáÉìÇéwíËǵǃé¿çsÇ∑ÇÍÇŒÅAÉRÉìÉpÉCÉãçœÇ›ÉXÉNÉäÉvÉgÇÉtÉ@ÉCÉãÇÃÉfÅ[É^ÉtÉHÅ[ÉNÇ…ï€ë∂Ç≈Ç´Ç‹Ç∑Åiè⁄ç◊DžǬǢǃÇÕÅAosacompile Çà man ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅjÅB
|
[2002 îN 3 åé 13 ì˙]
|